using System.Collections.Generic;

namespace PluginFrame
{
	public interface IPcrDataService
	{
		bool IsSavingFile { get; }

		IPcrDataFile CreateNewPcrDataFile();

		IPcrDataFile LoadDefaultPcrDataFile();

		IPcrDataFile LoadPcrDataFile(string pcrDataFile, bool isShowHint);

		IPcrDataFile CreateDefaultPcrFile();

		IPcrStructure GenerateDefaultPcrStructure(IPcrDataFile defaultPcrDataFile);

		void SavePcrDataFile(string fileName, IPcrDataFile pcrDataFile);

		void SaveDefaultPcrDataFile(IPcrDataFile pcrDataFile);

		void DeletePcrDataFile(string path);

		void UpdateDefaultPcrChannelUsed(List<bool> isChannelUsed);

		void UpdateDefaultPcrControlTypeUsed(TemperatureControlType controlType, double volume);

		bool SaveStandardCurve(string filePath, IPcrExperimentProject pcrProject, IPcrExperiment pcrExperiment);

		IPcrStandardCurve LoadStandardCurve(string filePath);
	}
}
